home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / sorm2l.z / sorm2l
Encoding:
Text File  |  2002-10-03  |  4.4 KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSOOOORRRRMMMM2222LLLL((((3333SSSS))))                                                          SSSSOOOORRRRMMMM2222LLLL((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SORM2L - overwrite the general real m by n matrix C with  Q * C if SIDE =
  10.      'L' and TRANS = 'N', or  Q'* C if SIDE = 'L' and TRANS = 'T', or  C * Q
  11.      if SIDE = 'R' and TRANS = 'N', or  C * Q' if SIDE = 'R' and TRANS = 'T',
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE SORM2L( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  15.                         )
  16.  
  17.          CHARACTER      SIDE, TRANS
  18.  
  19.          INTEGER        INFO, K, LDA, LDC, M, N
  20.  
  21.          REAL           A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      SORM2L overwrites the general real m by n matrix C with Q * C if SIDE =
  38.      'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q if
  39.      SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS = 'T',
  40.      where Q is a real orthogonal matrix defined as the product of k
  41.      elementary reflectors
  42.  
  43.            Q = H(k) . . . H(2) H(1)
  44.  
  45.      as returned by SGEQLF. Q is of order m if SIDE = 'L' and of order n if
  46.      SIDE = 'R'.
  47.  
  48.  
  49. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  50.      SIDE    (input) CHARACTER*1
  51.              = 'L': apply Q or Q' from the Left
  52.              = 'R': apply Q or Q' from the Right
  53.  
  54.      TRANS   (input) CHARACTER*1
  55.              = 'N': apply Q  (No transpose)
  56.              = 'T': apply Q' (Transpose)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSOOOORRRRMMMM2222LLLL((((3333SSSS))))                                                          SSSSOOOORRRRMMMM2222LLLL((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      M       (input) INTEGER
  75.              The number of rows of the matrix C. M >= 0.
  76.  
  77.      N       (input) INTEGER
  78.              The number of columns of the matrix C. N >= 0.
  79.  
  80.      K       (input) INTEGER
  81.              The number of elementary reflectors whose product defines the
  82.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  83.              0.
  84.  
  85.      A       (input) REAL array, dimension (LDA,K)
  86.              The i-th column must contain the vector which defines the
  87.              elementary reflector H(i), for i = 1,2,...,k, as returned by
  88.              SGEQLF in the last k columns of its array argument A.  A is
  89.              modified by the routine but restored on exit.
  90.  
  91.      LDA     (input) INTEGER
  92.              The leading dimension of the array A.  If SIDE = 'L', LDA >=
  93.              max(1,M); if SIDE = 'R', LDA >= max(1,N).
  94.  
  95.      TAU     (input) REAL array, dimension (K)
  96.              TAU(i) must contain the scalar factor of the elementary reflector
  97.              H(i), as returned by SGEQLF.
  98.  
  99.      C       (input/output) REAL array, dimension (LDC,N)
  100.              On entry, the m by n matrix C.  On exit, C is overwritten by Q*C
  101.              or Q'*C or C*Q' or C*Q.
  102.  
  103.      LDC     (input) INTEGER
  104.              The leading dimension of the array C. LDC >= max(1,M).
  105.  
  106.      WORK    (workspace) REAL array, dimension
  107.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  108.  
  109.      INFO    (output) INTEGER
  110.              = 0: successful exit
  111.              < 0: if INFO = -i, the i-th argument had an illegal value
  112.  
  113. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  114.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  115.  
  116.      This man page is available only online.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.